Skip to content

chore(deps): bump the development-deps group in /frontend with 9 updates#17

Closed
dependabot[bot] wants to merge 1257 commits into
developfrom
dependabot/npm_and_yarn/frontend/development-deps-ff77e8c994
Closed

chore(deps): bump the development-deps group in /frontend with 9 updates#17
dependabot[bot] wants to merge 1257 commits into
developfrom
dependabot/npm_and_yarn/frontend/development-deps-ff77e8c994

Conversation

@dependabot
Copy link
Copy Markdown

@dependabot dependabot Bot commented on behalf of github Mar 14, 2026

Bumps the development-deps group in /frontend with 9 updates:

Package From To
@tailwindcss/postcss 4.2.0 4.2.1
autoprefixer 10.4.24 10.4.27
cypress 15.10.0 15.12.0
globals 17.3.0 17.4.0
jest 30.2.0 30.3.0
jest-environment-jsdom 30.2.0 30.3.0
postcss 8.5.6 8.5.8
tailwindcss 4.2.0 4.2.1
typescript-eslint 8.56.0 8.57.0

Updates @tailwindcss/postcss from 4.2.0 to 4.2.1

Release notes

Sourced from @​tailwindcss/postcss's releases.

v4.2.1

Fixed

  • Allow trailing dash in functional utility names for backwards compatibility (#19696)
  • Properly detect classes containing . characters within curly braces in MDX files (#19711)
Changelog

Sourced from @​tailwindcss/postcss's changelog.

[4.2.1] - 2026-02-23

Fixed

  • Allow trailing dash in functional utility names for backwards compatibility (#19696)
  • Properly detect classes containing . characters within curly braces in MDX files (#19711)
Commits

Updates autoprefixer from 10.4.24 to 10.4.27

Release notes

Sourced from autoprefixer's releases.

10.4.27

  • Removed development key from package.json.

10.4.26

  • Reduced package size.

10.4.25

  • Fixed broken gradients on CSS Custom Properties (by @​serger777).
Changelog

Sourced from autoprefixer's changelog.

10.4.27

  • Removed development key from package.json.

10.4.26

  • Reduced package size.

10.4.25

  • Fixed broken gradients on CSS Custom Properties (by @​serger777).
Commits

Updates cypress from 15.10.0 to 15.12.0

Release notes

Sourced from cypress's releases.

v15.12.0

Changelog: https://docs.cypress.io/app/references/changelog#15-12-0

v15.11.0

Changelog: https://docs.cypress.io/app/references/changelog#15-11-0

Commits
  • dbb806a chore: release v15.12.0 (#33459)
  • 4931cf0 chore: bootstrap AI agent context files (AGENTS.md + CLAUDE.md) (#33429)
  • 9546ee8 chore: removes changelog entries for sigint-related fixes that are still unre...
  • fec7088 chore: updating v8 snapshot cache (#33453)
  • 9b7ac44 chore: Update v8 snapshot cache - darwin (#33452)
  • 9c8afaa chore: updating v8 snapshot cache (#33449)
  • 3d2ca8a chore: Update Chrome (beta) to 146.0.7680.65 (#33443)
  • abc6b2b fix: prevent hang when waiting on multiple intercepts and navigating (#33446)
  • 32e95ed test: update coming soon test from app (#33448)
  • aa56256 dependency: update fast-xml-parser to 4.5.4 (#33435)
  • Additional commits viewable in compare view

Updates globals from 17.3.0 to 17.4.0

Release notes

Sourced from globals's releases.

v17.4.0

  • Update globals (2026-03-01) (#338) d43a051

sindresorhus/globals@v17.3.0...v17.4.0

Commits

Updates jest from 30.2.0 to 30.3.0

Release notes

Sourced from jest's releases.

v30.3.0

Features

  • [jest-config] Add defineConfig and mergeConfig helpers for type-safe Jest config (#15844)
  • [jest-fake-timers] Add setTimerTickMode to configure how timers advance
  • [*] Reduce token usage when run through LLMs (3f17932)

Fixes

  • [jest-config] Keep CLI coverage output when using --json with --outputFile (#15918)
  • [jest-mock] Use Symbol from test environment (#15858)
  • [jest-reporters] Fix issue where console output not displayed for GHA reporter even with silent: false option (#15864)
  • [jest-runtime] Fix issue where user cannot utilize dynamic import despite specifying --experimental-vm-modules Node option (#15842)
  • [jest-test-sequencer] Fix issue where failed tests due to compilation errors not getting re-executed even with --onlyFailures CLI option (#15851)
  • [jest-util] Make sure process.features.require_module is false (#15867)

Chore & Maintenance

  • [*] Replace remaining micromatch uses with picomatch
  • [deps] Update to sinon/fake-timers v15
  • [docs] Update V30 migration guide to notify users on jest.mock() work with case-sensitive path (#15849)
  • Updated Twitter icon to match the latest brand guidelines (#15869)
Changelog

Sourced from jest's changelog.

30.3.0

Features

  • [jest-config] Add defineConfig and mergeConfig helpers for type-safe Jest config (#15844)
  • [jest-fake-timers] Add setTimerTickMode to configure how timers advance
  • [*] Reduce token usage when run through LLMs (3f17932)

Fixes

  • [jest-config] Keep CLI coverage output when using --json with --outputFile (#15918)
  • [jest-mock] Use Symbol from test environment (#15858)
  • [jest-reporters] Fix issue where console output not displayed for GHA reporter even with silent: false option (#15864)
  • [jest-runtime] Fix issue where user cannot utilize dynamic import despite specifying --experimental-vm-modules Node option (#15842)
  • [jest-test-sequencer] Fix issue where failed tests due to compilation errors not getting re-executed even with --onlyFailures CLI option (#15851)
  • [jest-util] Make sure process.features.require_module is false (#15867)

Chore & Maintenance

  • [*] Replace remaining micromatch uses with picomatch
  • [deps] Update to sinon/fake-timers v15
  • [docs] Update V30 migration guide to notify users on jest.mock() work with case-sensitive path (#15849)
  • Updated Twitter icon to match the latest brand guidelines (#15869)
Commits

Updates jest-environment-jsdom from 30.2.0 to 30.3.0

Release notes

Sourced from jest-environment-jsdom's releases.

v30.3.0

Features

  • [jest-config] Add defineConfig and mergeConfig helpers for type-safe Jest config (#15844)
  • [jest-fake-timers] Add setTimerTickMode to configure how timers advance
  • [*] Reduce token usage when run through LLMs (3f17932)

Fixes

  • [jest-config] Keep CLI coverage output when using --json with --outputFile (#15918)
  • [jest-mock] Use Symbol from test environment (#15858)
  • [jest-reporters] Fix issue where console output not displayed for GHA reporter even with silent: false option (#15864)
  • [jest-runtime] Fix issue where user cannot utilize dynamic import despite specifying --experimental-vm-modules Node option (#15842)
  • [jest-test-sequencer] Fix issue where failed tests due to compilation errors not getting re-executed even with --onlyFailures CLI option (#15851)
  • [jest-util] Make sure process.features.require_module is false (#15867)

Chore & Maintenance

  • [*] Replace remaining micromatch uses with picomatch
  • [deps] Update to sinon/fake-timers v15
  • [docs] Update V30 migration guide to notify users on jest.mock() work with case-sensitive path (#15849)
  • Updated Twitter icon to match the latest brand guidelines (#15869)
Changelog

Sourced from jest-environment-jsdom's changelog.

30.3.0

Features

  • [jest-config] Add defineConfig and mergeConfig helpers for type-safe Jest config (#15844)
  • [jest-fake-timers] Add setTimerTickMode to configure how timers advance
  • [*] Reduce token usage when run through LLMs (3f17932)

Fixes

  • [jest-config] Keep CLI coverage output when using --json with --outputFile (#15918)
  • [jest-mock] Use Symbol from test environment (#15858)
  • [jest-reporters] Fix issue where console output not displayed for GHA reporter even with silent: false option (#15864)
  • [jest-runtime] Fix issue where user cannot utilize dynamic import despite specifying --experimental-vm-modules Node option (#15842)
  • [jest-test-sequencer] Fix issue where failed tests due to compilation errors not getting re-executed even with --onlyFailures CLI option (#15851)
  • [jest-util] Make sure process.features.require_module is false (#15867)

Chore & Maintenance

  • [*] Replace remaining micromatch uses with picomatch
  • [deps] Update to sinon/fake-timers v15
  • [docs] Update V30 migration guide to notify users on jest.mock() work with case-sensitive path (#15849)
  • Updated Twitter icon to match the latest brand guidelines (#15869)
Commits

Updates postcss from 8.5.6 to 8.5.8

Release notes

Sourced from postcss's releases.

8.5.8

  • Fixed Processor#version.

8.5.7

  • Improved source map annotation cleaning performance (by CodeAnt AI).
Changelog

Sourced from postcss's changelog.

8.5.8

  • Fixed Processor#version.

8.5.7

  • Improved source map annotation cleaning performance (by CodeAnt AI).
Commits

Updates tailwindcss from 4.2.0 to 4.2.1

Release notes

Sourced from tailwindcss's releases.

v4.2.1

Fixed

  • Allow trailing dash in functional utility names for backwards compatibility (#19696)
  • Properly detect classes containing . characters within curly braces in MDX files (#19711)
Changelog

Sourced from tailwindcss's changelog.

[4.2.1] - 2026-02-23

Fixed

  • Allow trailing dash in functional utility names for backwards compatibility (#19696)
  • Properly detect classes containing . characters within curly braces in MDX files (#19711)
Commits

Updates typescript-eslint from 8.56.0 to 8.57.0

Release notes

Sourced from typescript-eslint's releases.

v8.57.0

8.57.0 (2026-03-09)

🚀 Features

  • eslint-plugin: [no-unnecessary-condition] allow literal loop conditions in for/do loops (#12080)

🩹 Fixes

  • eslint-plugin: [strict-void-return] false positives with overloads (#12055)
  • eslint-plugin: handle statically analyzable computed keys in prefer-readonly (#12079)
  • eslint-plugin: guard against negative paramIndex in no-useless-default-assignment (#12077)
  • eslint-plugin: [prefer-promise-reject-errors] add allow TypeOrValueSpecifier to prefer-promise-reject-errors (#12094)
  • eslint-plugin: [no-base-to-string] fix false positive for toString with overloads (#12089)
  • typescript-estree: switch back to use ts.getModifiers() (#12034)
  • typescript-estree: if the template literal is tagged and the text has an invalid escape, cooked will be null (#11355)

❤️ Thank You

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

v8.56.1

8.56.1 (2026-02-23)

What's Changed

You can read about our versioning strategy and releases on our website.

Changelog

Sourced from typescript-eslint's changelog.

8.57.0 (2026-03-09)

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

8.56.1 (2026-02-23)

This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.

See GitHub Releases for more information.

You can read about our versioning strategy and releases on our website.

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

rett added 30 commits February 26, 2026 03:12
Create ai_mission_templates with JSONB phases, approval_gates, rejection_mappings,
skill_compositions columns. Add mission_template_id and custom_phases to ai_missions.
…solution

Ai::MissionTemplate provides phase sequences, approval gates, rejection mappings,
and gate names. Ai::Mission resolves phases from template with no hardcoded fallback.
RalphTask broadcasts status changes via MissionChannel for real-time updates.
Orchestrator resolves job classes, gate names, and rejection targets from template
phase config. New SkillCompositionService creates RalphLoop tasks from discovered
skills matched to template phases.
…oints

MissionTemplatesController with CRUD. Missions controller gains task_graph,
save_as_template, and compose_plan actions. Routes registered in AI namespace.
…ase types

Add React Flow task graph with RalphTaskNode/ApprovalGateNode, useMissionTaskGraph
hook with real-time WebSocket updates. Clickable PhaseTimeline with phase filtering.
Template selection step in NewMissionWizard. MissionPhase changed to string for
template-driven phases. Workflow Builder demoted in navigation order.
…ites

Add ai_mission_template factory with development/research/operations traits.
Update ai_mission factory to auto-assign templates. Rewrite mission model and
orchestrator specs for template-driven architecture. Stub WorkerJobService in
orchestrator and request specs.
… integration

Implement Situation-Task-Action-Result structured reasoning service that
forces explicit goal articulation before reasoning begins, surfacing
implicit constraints. Wire into AgentToolBridgeService alongside existing
chain-of-thought and plan-and-execute modes. Enhance SkillCompositionService
with STAR-refined phase queries for richer skill discovery. Fix pre-existing
bugs in find_or_create_ralph_loop! (stale loop_type attribute, invalid status).
MCP client agents are now transient — always created fresh per session,
archived on disconnect, and blocked from non-workspace teams. Fixes
stale agent accumulation and prevents misuse in missions/teams.
SSE streams held a checked-out DB connection for their entire lifetime
(hours/days), exhausting the pool and blocking all HTTP requests with
ConnectionTimeoutError. Now releases the connection after setup and
borrows briefly via with_connection for each keepalive ping.
Merge the separate Devops::Repository model into Devops::GitRepository
via 4-stage migration (add columns, migrate data, update FKs, drop table).
Update serializer, controllers, factories, and specs accordingly.
…lients

Delete Ai::Llm::Client, adapter factory, all provider adapters, and
Ai::ProviderClientService with its adapters. Replace with WorkerLlmClient
and WorkerEmbeddingClient that proxy LLM calls through the worker service.
Add AgentBackedService concern for shared proxy plumbing.
Migrate all AI services from direct Ai::Llm::Client / ProviderClientService
calls to WorkerLlmClient and WorkerEmbeddingClient. Services now delegate
LLM completions and embeddings to the worker process via HTTP.
…Service

Delete all server/app/jobs/ai/ job classes and their specs. These jobs
now run in the worker process; the server dispatches them via
WorkerJobService HTTP API calls.
Add internal API controllers for self-healing, ralph loops, trajectory,
and worktree sessions (worker → server callbacks). Update LLM proxy
controller to remove direct completion endpoints. Add provider_config
and embedding_config routes for worker credential resolution.
Add 12 AI job classes relocated from server (conversation, worktree,
ralph, self-healing, trajectory, merge, conflict detection). Expand
LlmProxyClient with direct provider calls using CredentialResolver.
Add AI service layer for worker-side LLM operations. Update Sidekiq
config with AI-specific queues and scheduled jobs.
Update test helpers, factories, and specs to use WorkerLlmClient stubs
instead of direct LLM client mocks. Add WorkerJobService stub helpers.
Update AI service specs for proxy-based LLM calls. Add MCP client
identity service spec.
…se submodule

Minor StepPlanReview UI adjustment, add AI utility agents seed,
update maintenance page, and update enterprise submodule pointer.
Use the repository's default_branch instead of the hardcoded column
default of "main" when creating missions. Prevents branch creation
failures on repos that use master or other default branches.
Add server/config/database.yml.example with pool default of 30.
Track .env.mcp.example, .env.production.example, and
.env.staging.example by adding !.env.*.example negation to
.gitignore. Update RAILS_MAX_THREADS to 10 in all env examples.
…r handling

ExtractionService called client.provider.name on WorkerLlmClient which
has nil provider when initialized with agent_id only — use provider_name
safe accessor instead. StreamableHttpController rescue ArgumentError was
catching parameter validation errors and silently returning null via
introspection fallback — scope to only catch unknown tool errors.
…alidation

Expand .gitleaks.toml allowlist from 12 to 21 path rules and 9 to 18
content regexes to suppress false positives from CI workflows, test
fixtures, seed data, and Docker configs. Add gitleaks as step 4/4 in
validate.sh with --skip-secrets flag. Add on-demand full-history scan
script for security audits across main repo and submodules.
Navigate to mission page with openApproval state flag so the
ApprovalGateModal auto-opens instead of just showing the mission detail
rett and others added 22 commits March 10, 2026 08:55
…io-scoped credentials

Add enqueue_trading_training_session to WorkerJobService for immediate
session dispatch. Update schema to reflect venue credentials scoped to
portfolio instead of account.
…quest interceptor

Lazy-load PortfolioSwitcherWrapper from trading extension into the
Header when on trading routes. Add addRequestInterceptor to APIClient
for extension-driven request modification (portfolio ID injection).
…odule

Skip cooldown check in llm_probability, agent_ensemble, and sentiment_analysis
when training? is true. Prevents false cooldown blocks in fast-tick training
mode where tick_interval (8s) < cooldown_seconds (15-60s). Exit checks and
position management remain unaffected.

Update trading submodule: settlement bypass, fee deduction, compounding
defaults, backtest pair registration, paper mode, category blacklist fix.
Bumps the development-deps group in /frontend with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [@tailwindcss/postcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-postcss) | `4.2.0` | `4.2.1` |
| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.4.24` | `10.4.27` |
| [cypress](https://github.com/cypress-io/cypress) | `15.10.0` | `15.12.0` |
| [globals](https://github.com/sindresorhus/globals) | `17.3.0` | `17.4.0` |
| [jest](https://github.com/jestjs/jest/tree/HEAD/packages/jest) | `30.2.0` | `30.3.0` |
| [jest-environment-jsdom](https://github.com/jestjs/jest/tree/HEAD/packages/jest-environment-jsdom) | `30.2.0` | `30.3.0` |
| [postcss](https://github.com/postcss/postcss) | `8.5.6` | `8.5.8` |
| [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss) | `4.2.0` | `4.2.1` |
| [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.56.0` | `8.57.0` |


Updates `@tailwindcss/postcss` from 4.2.0 to 4.2.1
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.1/packages/@tailwindcss-postcss)

Updates `autoprefixer` from 10.4.24 to 10.4.27
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](postcss/autoprefixer@10.4.24...10.4.27)

Updates `cypress` from 15.10.0 to 15.12.0
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](cypress-io/cypress@v15.10.0...v15.12.0)

Updates `globals` from 17.3.0 to 17.4.0
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](sindresorhus/globals@v17.3.0...v17.4.0)

Updates `jest` from 30.2.0 to 30.3.0
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v30.3.0/packages/jest)

Updates `jest-environment-jsdom` from 30.2.0 to 30.3.0
- [Release notes](https://github.com/jestjs/jest/releases)
- [Changelog](https://github.com/jestjs/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/jestjs/jest/commits/v30.3.0/packages/jest-environment-jsdom)

Updates `postcss` from 8.5.6 to 8.5.8
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](postcss/postcss@8.5.6...8.5.8)

Updates `tailwindcss` from 4.2.0 to 4.2.1
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/commits/v4.2.1/packages/tailwindcss)

Updates `typescript-eslint` from 8.56.0 to 8.57.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@tailwindcss/postcss"
  dependency-version: 4.2.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-deps
- dependency-name: autoprefixer
  dependency-version: 10.4.27
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-deps
- dependency-name: cypress
  dependency-version: 15.12.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-deps
- dependency-name: globals
  dependency-version: 17.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-deps
- dependency-name: jest
  dependency-version: 30.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-deps
- dependency-name: jest-environment-jsdom
  dependency-version: 30.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-deps
- dependency-name: postcss
  dependency-version: 8.5.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-deps
- dependency-name: tailwindcss
  dependency-version: 4.2.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-deps
- dependency-name: typescript-eslint
  dependency-version: 8.57.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github
Copy link
Copy Markdown
Author

dependabot Bot commented on behalf of github Mar 14, 2026

Labels

The following labels could not be found: dependencies, frontend. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@rett rett closed this Apr 19, 2026
@rett rett deleted the dependabot/npm_and_yarn/frontend/development-deps-ff77e8c994 branch April 19, 2026 19:43
@dependabot @github
Copy link
Copy Markdown
Author

dependabot Bot commented on behalf of github Apr 19, 2026

This pull request was built based on a group rule. Closing it will not ignore any of these versions in future pull requests.

To ignore these dependencies, configure ignore rules in dependabot.yml

rett added a commit that referenced this pull request May 9, 2026
… plan

Bumps the system extension pointer from 1eefe41a7 → 5de5d61ca,
absorbing 13 submodule commits that land Phases 0–2 of the agent
stub implementation plan plus the github.com/nodealchemy org
migration:

Phase 0 — Shared infrastructure:
  refactor(agent): consolidate atomic-write into internal/fsutil
  feat(agent): phase 0 building blocks for stub implementation plan
  feat(system/server): agent fleet events ingestion endpoint

Phase 1 — Service-loop core (autonomous reconciliation + cert
rotation + task lease):
  feat(agent): rewrite oci.Puller for HTTP-driven streaming pull
  feat(agent): add Verifier interface + seccomp drop-in writer
  feat(agent): module reconciler goroutine + service wiring
  feat(agent): cert rotation goroutine + K3s applier doc finalize
  feat(system/server): /enroll/refresh + modules OCI metadata exposure
  feat(agent): task lease loop + handler registry
  feat(system/server): /status/tasks/:id show endpoint

Phase 2 — Operator CLI module lifecycle:
  feat(agent): phase 2 CLI module lifecycle (verify/update/sync/attach/detach/init)
  feat(system/server): /modules/:id/rsync_spec + module member routes

Path migration:
  chore: rename Go module + docs paths to github.com/nodealchemy

Stubs landed: 13 of 18 (#2 task lease, #3 cert rotation, #4 reconcile,
#5 verify, #6 update, #7 sync, #8 OCI pull, #9 cosign Verifier, #10
seccomp drop-in, #11 attach, #12 detach, #15 init, #18 K3s finalize).
Stubs remaining: #1 boot, #13 commit, #14 exec, #16 volume-setup,
#17 puppet apply (all in Phase 3 + 4).

Plan reference: ~/.claude/plans/find-stubs-in-powernde-agent-kind-lecun.md
rett added a commit that referenced this pull request May 9, 2026
Bumps the system extension pointer to absorb Phase 3 of the agent
stub implementation plan:

  feat(agent): phase 3 boot orchestration + high-risk CLI
    (boot/exec/volume-setup)

Stubs landed: #1 boot, #14 exec, #16 volume-setup. The agent now
has all three high-risk operator commands wired with hardened
defaults — privilege drop on exec, multi-layer safety guards on
volume-setup, claim-pending poll on boot.

16 of 18 stubs landed. Remaining (Phase 4): #13 commit (capture
upper-dir delta as new module version with secret-scan), #17
puppet apply (manifest cosign-verify + change-count caps).

Plan reference: ~/.claude/plans/find-stubs-in-powernde-agent-kind-lecun.md
rett added a commit that referenced this pull request May 9, 2026
Bumps the system extension pointer to absorb Phase 4 of the agent
stub implementation plan:

  feat: phase 4 module authoring CLIs (commit/puppet apply) + server endpoints

Stubs landed: #13 commit, #17 puppet apply.

═══ ALL 18 STUBS COMPLETE ═══

Phase 0 — Shared infrastructure (3 commits):
  fsutil consolidation, transport.SwappableClient + io.EOF fix,
  mount.Lock flock helper, runtime.FetchAuthorizedKeys extraction,
  internal/{manifest,fleetevent,systemd,cli/} new packages,
  server: agent fleet events ingestion endpoint.

Phase 1 — Service-loop core (7 commits, autonomous reconciliation):
  oci.Puller HTTP-driven streaming pull, verify.Verifier interface,
  internal/runtime/{reconcile,cert_rotation}.go goroutines,
  internal/runtime/tasks/ loop + 9 handler files,
  K3s agent applier doc finalization,
  server: /enroll/refresh + /status/tasks/:id + modules OCI metadata.

Phase 2 — CLI module lifecycle (2 commits):
  init/verify/update/sync/attach/detach CLI commands wired,
  server: /modules/:id/rsync_spec + module member route fix.

Phase 3 — Boot orchestration + high-risk CLI (1 commit):
  internal/boot/ orchestrator (identity → enroll → mount → switch_root),
  exec CLI with privilege drop (drop_to_nobody/as_user/privileged-allowlist),
  volume-setup CLI with multi-layer safety guards,
  server: LUKS controller + disk_policy in /config.

Phase 4 — Module authoring CLIs (1 commit):
  commit CLI (rsync delta + secret scan + tar.zst + stage-or-push),
  puppet apply CLI (--noop first + change-count cap + identity-file refuse),
  server: /modules/:id/versions endpoint + AgentModuleCommitService.

Path migration (1 commit):
  Go module github.com/powernode/platform/extensions/system/agent →
  github.com/nodealchemy/powernode-system/agent + 49 import updates +
  docs/services/seeds/.gitmodules to nodealchemy org.

Plan reference: ~/.claude/plans/find-stubs-in-powernde-agent-kind-lecun.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant